package org.example.leetcode;

/**
 * @author: lynn
 * @Descript: 寻找两个正序数组的中位数
 * @date: 2021/7/12 14:25
 * @version: 1.0
 */
public class LC4 {
    public static void main(String[] args) {
        int[] nums1=new int[]{1,2};
        int[] nums2=new int[]{3,4};
        System.out.println(getMiddle(nums1,nums2));
    }

    //fixme 这道题主要是考察边界问题
    public static double getMiddle(int[] nums1,int[] nums2){
        int[] array3=new int[nums1.length+nums2.length];
        int ai=0;
        int bj=0;
        while (ai<nums1.length && bj<nums2.length){
            array3[ai+bj]=nums1[ai]<nums2[bj]?nums1[ai++]:nums2[bj++];
        }
        while (ai<nums1.length) array3[ai+bj]=nums1[ai++];
        while (bj<nums2.length) array3[ai+bj]=nums2[bj++];
        if (array3.length==0|| array3==null) return 0.00000;
        if (array3.length%2!=0){
            return Double.valueOf(array3[array3.length/2]);
        }else{
            return Double.valueOf(array3[array3.length/2-1]+array3[array3.length/2])/2;
        }
    }
}
